import store from '../store/store.js'
import apis from './api.js'
const imgUrl = 'https://file.jngkxx.top/system/'


// 演唱会-域名
const host = 'https://mall.youdaobian.com'


/**
 * GET请求
 * 请求头：'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'
 * @param {Object} url 请求链接
 * @param {Object} data 请求参数
 * @param {Object} result 成功回调函数
 * @param {Object} callback 失败回调函数
 * - 返回码：code 1：成功0：失败
 */
var getApi = function(url, data) {
	let localtokn = uni.getStorageSync('localtokn') ? uni.getStorageSync('localtokn')  : ''
	return new Promise((resove, reject) => {
		uni.request({
			url: host + url,
			data: data,
			method: "GET",
			header: {
				'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',
				'Authorization': uni.getStorageSync('localtokn'),
			},
			success: function(res) {
				const {data} = res
				if (data.code == 1) {
					resove(data.body);
				} else if (data.code == 0) {
					// 清楚之前的缓存，并缓存当前页的路由以及参数
					localstoryPage()
					reject(data)
				} else {
					console.log('Get报错信息', url, data)
					uni.showToast({
						icon: 'none',
						title: data.codeDescription+','+data.codeName
					});
					reject(data)
				}
			},
			error: function(data) {
				console.log('Get报错error信息', url, data)
				uni.showToast({
					icon: 'none',
					title: data.codeDescription+','+data.codeName
				});
				reject(data)
			}
		});
	})
}
/**
 * post请求--携带token
 * 请求头：'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'
 * @param {Object} url 请求链接
 * @param {Object} data 请求参数
 * @param {Object} result 成功回调函数
 * @param {Object} callback 失败回调函数
 * - 返回码：code 1：成功 0：失败
 */
var postApi = function(url, data) {
	let localtokn = uni.getStorageSync('localtokn') ? uni.getStorageSync('localtokn') : ''
	return new Promise((resove, reject)=>{
		uni.request({
			url: host + url,
			data: data,
			method: "POST",
			header: {
				// 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',
				'Authorization': localtokn,
			},
			success: function(res) {
				const {data} = res
				if (data.code == 1) {
					resove(data.body);
				} else if (data.code == 0) {
					//清楚之前的缓存，并缓存当前页的路由以及参数
					localstoryPage()
					reject(data);
				}else {
					console.log('post报错信息', url, data)
					uni.showToast({
						icon: 'none',
						title: data.codeDescription+','+data.codeName
					});
					reject(data);
				}
			},
			error: function(data) {
				uni.showToast({
					icon: 'none',
					title: data.codeDescription+','+data.codeName
				});
				reject(data);
			}
		});
	})
}

/**
 * post请求--携带token
 * 请求头：'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'
 * @param {Object} url 请求链接
 * @param {Object} data 请求参数
 * @param {Object} result 成功回调函数
 * @param {Object} callback 失败回调函数
 * - 返回码：code 1：成功 0：失败
 */
var delApi = function(url, data) {
	let localtokn = uni.getStorageSync('localtokn') ? uni.getStorageSync('localtokn') : ''
	return new Promise((resove, reject)=>{
		uni.request({
			url: host + url,
			data: data,
			method: "DELETE",
			header: {
				// 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',
				'Authorization': localtokn,
			},
			success: function(res) {
				const {data} = res
				if (data.code == 1) {
					resove(data.body);
				} else if (data.code == 0) {
					//清楚之前的缓存，并缓存当前页的路由以及参数
					localstoryPage()
					reject(data);
				}else {
					console.log('post报错信息', url, data)
					uni.showToast({
						icon: 'none',
						title: data.codeDescription+','+data.codeName
					});
					reject(data);
				}
			},
			error: function(data) {
				uni.showToast({
					icon: 'none',
					title: data.codeDescription+','+data.codeName
				});
				reject(data);
			}
		});
	})
}

/**
 * PUT请求--携带token
 * 请求头：'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'
 * @param {Object} url 请求链接
 * @param {Object} data 请求参数
 * @param {Object} result 成功回调函数
 * @param {Object} callback 失败回调函数
 * - 返回码：code 1：成功 0：失败
 */
var putApi = function(url, data) {
	let localtokn = uni.getStorageSync('localtokn') ? uni.getStorageSync('localtokn') : ''
	return new Promise((resove, reject)=>{
		uni.request({
			url: host + url,
			data: data,
			method: "PUT",
			header: {
				// 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',
				'Authorization': localtokn,
			},
			success: function(res) {
				const {data} = res
				if (data.code == 1) {
					resove(data.body);
				} else if (data.code == 0) {
					//清楚之前的缓存，并缓存当前页的路由以及参数
					localstoryPage()
					reject(data);
				}else {
					console.log('post报错信息', url, data)
					uni.showToast({
						icon: 'none',
						title: data.codeDescription+','+data.codeName
					});
					reject(data);
				}
			},
			error: function(data) {
				uni.showToast({
					icon: 'none',
					title: data.codeDescription+','+data.codeName
				});
				reject(data);
			}
		});
	})
}

// 缓存路由与携带的参数
const localstoryPage = function() {
	uni.showToast({
		title: '请先登录后回来查看',
		icon: 'none'
	})
	// 清除所有缓存
	uni.clearStorageSync()
	// 登录状态置0
	store.dispatch('setLoginStatus', 0)
	var pages = getCurrentPages(); // 当前页面
	var beforePage = pages[pages.length - 1]; // 前一个页面
	if (beforePage) {
		var routeOption = '';
		for (let i in beforePage.options) {
			routeOption += '&' + i + '=' + beforePage.options[i]
		}
		beforePage = '/' + beforePage.route + routeOption.replace('&', '?')
		// 缓存当前页的路径及参数
		uni.setStorageSync('beforePage', beforePage)
	}
	setTimeout(() => {
		// 判断是h5 还是pc端，pc端登录 则直接跳转 uni_LoginPhone手机号登录页面进行登录
		// // #ifdef H5
		// if (IsPC()) {
		// 	console.log('微信浏览器环境')
		// 	uni.navigateTo({
		// 		url: '/page_Personalcenter/pcToWeiXin'
		// 	})
		// } else {
		// 	console.log('普通浏览器')
		// 	uni.navigateTo({
		// 		url: '/page_Personalcenter/pcToWeiXin'
		// 	})
		// }
		// // #endif
		// // #ifdef MP-WEIXIN || APP-PLUS
		// uni.reLaunch({
		// 	url: '/page_wallet/uni_Logins'
		// })
		// // #endif
		uni.reLaunch({
			url: '/page_wallet/uni_Logins'
		})
	}, 2000);
}
// 判断为H5的时候-当前是否为微信环境
function IsPC() {
	var ua = window.navigator.userAgent.toLowerCase();
	console.log('ua------------>',ua); //mozilla/5.0 (iphone; cpu iphone os 9_1 like mac os x) applewebkit/601.1.46 (khtml, like gecko)version/9.0 mobile/13b143 safari/601.1
	if (ua.match(/MicroMessenger/i) == 'micromessenger') {
		return true;
	} else {
		return false;
	}
}

export default {
	imgUrl, //资源system图片统一路径
	host, //全域名接口地址
	getApi, //get对接请求
	delApi,
	postApi, //post请求
	localstoryPage,
	putApi,
}